package Filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import Bean.Users_Bean;
import myUtils.MyUtilss;

public class CheckLoginedFilter implements Filter{

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		// 初始化处理
	}

	@Override
	public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chai)
			throws IOException, ServletException {
		// 过滤器业务逻辑处理
		MyUtilss.logger_console.debug("执行用户身份验证过滤器---");
		
		//1.获取用户的登录信息（从session缓存中存取）
		HttpServletRequest request=(HttpServletRequest) req;
		Users_Bean loginedUse=(Users_Bean) request.getSession().getAttribute("loginedUsersB");
		
		//2.验证用户信息是否合法
		//3.验证结果页面跳转
		if(loginedUse!=null&&loginedUse.getUser_name()!=null&&loginedUse.getUser_name().toString().equals("")){
			//验证合法（缓存中的登录用户信息对象不为null，且登录用户名不为空）
			
			//4.继续转发控制链
			chai.doFilter(req, resp);
		}else{
			//验证失败（重定向到登录页面）--需要跳出当前页面所在路径再重新进入一次
			((HttpServletResponse)resp).sendRedirect("./../LoginServlet.jsp");
		}
	}


	@Override
	public void destroy() {
		// 销毁处理
	}
}
